﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SuperKit {
    class ReplacerDict {


        public static string AdjustName(string name, List<ValueTuple<string, string>> replace) {
            foreach (var i in replace) {
                name = name.Replace(i.Item1, i.Item2);
            }
            return name.Trim();
        }

        public static string ReverseName(string name, List<ValueTuple<string, string>> replace) {
            foreach (var i in replace) {
                name = name.Replace(i.Item2, i.Item1);
            }
            return name.Trim();
        }

        public static List<(string, string)> ForbidWords {
            get {
                List<(string, string)> list = new List<(string, string)>();
                list.Add(("淫", "#あイン#"));
                list.Add(("妻", "#あつま#"));              
                list.Add(("乳", "#あニュウ#"));
                list.Add(("精", "#あせ#"));
                list.Add(("性", "#あせい#"));
                list.Add(("根", "#あこん#"));
                list.Add(("牝", "#あメス#"));
                list.Add(("肉", "#あニク#"));
                list.Add(("種", "#あタネ#"));
                list.Add(("绝", "#あゼツ#"));
                list.Add(("絶", "#いゼツ#"));
                list.Add(("情", "#あじゅう#"));
                list.Add(("辱", "#あじゅく#"));
                list.Add(("穴", "#あアナ#"));
                list.Add(("母", "#あママ#"));
                list.Add(("棒", "#あぼう#"));
                list.Add(("中", "#あなか#"));
                list.Add(("寝", "#あネト#"));
                list.Add(("変", "#あへん#"));
                list.Add(("催", "#あさい#"));
                list.Add(("孕", "#あはら#"));
                list.Add(("交", "#あこう#"));
                list.Add(("便", "#あべん#"));
                list.Add(("汁", "#あジル#"));
                list.Add(("姦", "#あガン#"));
                list.Add(("肛", "#いがん#"));
                list.Add(("濁", "#あじゅく#"));
                list.Add(("熟", "#いじゅく#"));
                list.Add(("奴", "#あとく#"));
                list.Add(("発", "#あはつ#"));
                list.Add(("触", "#あしょく#"));
                list.Add(("恥", "#あはじ#"));
                list.Add(("痴", "#あちい#"));
                list.Add(("蕩", "#あだん#"));
                list.Add(("欲", "#あよく#"));
                list.Add(("犯", "#あおかす#"));
                list.Add(("堕", "#あおち#"));
                list.Add(("調", "#あちょう#"));
                list.Add(("教", "#あきょう#"));
                list.Add(("濡", "#あぬれ#"));




                list.Add(("ショタ", "#あシあョタ#"));
                list.Add(("ふたなり", "#あふたあなり#"));
                list.Add(("二タナリ", "#あ二タあナリ#"));
                list.Add(("子宮", "#あ子あ宮#"));
                list.Add(("マ●コ", "#あマ●あコ#"));
                list.Add(("マンコ", "#あマンあコ#"));
                list.Add(("まんこ", "#あまんあこ#"));
                list.Add(("アへ顔", "#あアへあ顔#"));
                list.Add(("筆おろ", "#あ筆あおろ#"));
                list.Add(("イキ", "#あイあキ#"));
                list.Add(("イク", "#あイあク#"));
                list.Add(("エロ", "#あエあロ#"));
                
                return list;
            }
        }

        public static List<(string, string)> GalgameReplacer {
            get {
                List<(string, string)> list = new List<(string, string)>();
                list.Add((" ※自炊", ""));
                list.Add(("※自炊", ""));
                list.Add(("(18禁ゲーム) ", ""));
                list.Add(("(18禁ゲーム)", ""));
                list.Add(("[18禁ゲーム] ", ""));
                list.Add(("[18禁ゲーム]", ""));
                list.Add(("(同人ゲーム) ", ""));
                list.Add(("(同人ゲーム)", ""));
                list.Add(("[同人ゲーム] ", ""));
                list.Add(("[同人ゲーム]", ""));
                list.Add(("(同人ソフト) ", ""));
                list.Add(("(同人ソフト)", ""));
                list.Add(("[同人ソフト] ", ""));
                list.Add(("[同人ソフト]", ""));
                list.Add((".part1", ""));
                list.Add(("(files)", ""));
                list.Add(("files", ""));
                list.Add(("file", ""));
                list.Add((@"%", ""));                
                list.Add(("ios", ""));
                list.Add(("iso", ""));
                list.Add(("rr3", ""));
                list.Add(("rr", ""));
                list.Add(("mdf", ""));
                list.Add(("mds", ""));
                list.Add((" + ", ""));
                list.Add(("+", ""));
                list.Add(("  ", " "));
                list.Add(("  ", " "));
                list.Add(("  ", " "));
                list.Add((" [", "["));
                list.Add((" ]", "]"));
                list.Add(("[ ", "["));
                list.Add(("] ", "]"));
                list.Add((" (", "("));
                list.Add((" )", ")"));
                list.Add(("()", ""));
                return list;
            }
        }
    }
}
